Almost all telecommunications systems, such as telecommunication system 100, are programmed to generate message logs. The messages that are written into the message logs report on a wide variety of phenomena, such as communication initiation and termination, the success or failure of a call, and so forth.
The data-processing systems that generate the message logs often comprise large, complex software systems with millions of lines of instructions that have evolved over many years of development. Examples of such data-processing systems in a telecommunications context are routers, switches, servers, and so forth. In turn, each data-processing system is often part of a larger system such as a telecommunications system. It is important to understand the system behavior of these data-processing systems, in order to maintain or improve their reliability—particularly with respect to a failure condition, in which a hardware or software component of the telecommunications network fails to perform as intended.
These message logs do not easily lend themselves to automated analysis, because of the volume of messages that can be generated. For example, consider that in an enterprise Voice over Internet Protocol (VOIP) environment, a data-processing system that provides the call control can generate a million status messages or more per hour.
What is needed is a technique for leveraging message logs in order to understand and characterize the behavior of a processing system, specifically with respect to the failure behavior of the system, without some of the disadvantages in the prior art.